package demo2;

//class Shape{
//    public void draw(){
////        System.out.println("画图形");//这里去掉也是一样的效果，所以不需要写这段，这种情况叫做抽象类：
////                                     如果一个类中没有包含足够的信息来描绘一个具体的对象，这样的类就是抽象类
//    }
//}
abstract class Shape{//抽象类
    public abstract void draw();//抽象方法---->代替了上面的书写方式，需要使用abstract关键字
}
class Cycle extends Shape {
    @Override
    public void draw() {
        System.out.println("⚪");
    }
}
class Rect extends Shape {
    @Override
    public void draw() {
        System.out.println("矩形");
    }
}

public class Test2 {
    static void drawShape(Shape shape){
        shape.draw();
    }
    public static void main(String[] args) {
//        Cycle cycle = new Cycle();
        drawShape(new Cycle());
        drawShape(new Rect());
    }
}
